import Vue from 'vue'
import Vuex from 'vuex'
import users from './users';
import publishs from './publishs';
import color from './color';
// import {
//   SAVE
// } from './mutations_type';
// import {
//   getQiniuToken,
//   uploadQiniu
// } from '@/API/api';

// import {
//   getuserInfo
// } from '@/API/user';

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    // uid: '',
    // token: '',
    // userInfo: '',
    // hasLogin: false,
    // liked_num: '',
    // publish_num: ''
  },
  getters: {},
  mutations: {
    //   [SAVE](state, [key, value]) {
    //     state[key] = value
    //   },
    //   clear(state) {
    //     state['uid'] = ''
    //     state['token'] = ''
    //     state['userInfo'] = ''
    //     state['isLogin'] = false
    //     state['publish_num'] = 0
    //     state['liked_num'] = 0
    //   },
  },
  actions: {
    // getuserInfo({
    //   commit
    // }, token) {
    //   return getuserInfo({
    //     token
    //   }).then(res => {
    //     console.log(res);
    //     let {
    //       uid,
    //       userInfo,
    //       publish_num,
    //       liked_num
    //     } = res
    //     // token没过期免登录
    //     commit('save', ['uid', uid])
    //     commit('save', ['userInfo', userInfo])
    //     commit('save', ['token', token])
    //     commit('save', ['hasLogin', true])
    //     commit('save', ['liked_num', liked_num])
    //     commit('save', ['publish_num', publish_num])
    //   })
    // },

    // // 上传图片
    // async upload(o, fileList) {
    //   // 接收fileList
    //   if (!Array.isArray(fileList) || fileList.length === 0) { //如果他不是一个数组，或者他的长度为0就返回一个空数组
    //     return [];
    //   }

    //   // 如果是多张图片的话 我们需要多个上传任务
    //   // Promise.all 接收一个数组 数组里面是多个promise对象
    //   // 检测所有的Promise都成功以后 把他们所有的resolve的值组成新数组 并且返回出去
    //   let task = fileList.map((v) => {
    //     return new Promise((resolve, reject) => {
    //       // 生成一个随即名字
    //       let file = v.file;
    //       let {
    //         type
    //       } = file; //拿到上传文件的type

    //       //二进制文件

    //       type = type.split("/")[1];

    //       //重新命名
    //       let file_name = `${new Date().getTime()}_${Math.random()
    //         .toString(36)
    //         .slice(2)}.${type}`;

    //       getQiniuToken().then(({
    //         token
    //       }) => {
    //         const formdata = new FormData();
    //         formdata.append("file", file);
    //         formdata.append("token", token);
    //         formdata.append("key", file_name);

    //         // 上传到七牛云的服务器

    //         uploadQiniu(formdata).then((res) => {
    //           resolve(`http://toutiao.longxiaokj.com/` + res.key);
    //         });
    //       });
    //     });
    //   });
    //   // console.log(task);
    //   let imgList = await Promise.all(task);
    //   return imgList;
    // },
  },
  modules: {

    users,
    publishs,
    color
  }
})